import React from "react";

interface ButtonProps {
  text: string;
  onClick?: () => void;
  variant?: "primary" | "secondary";
  size?: "small" | "medium" | "large";
  disabled?: boolean;
  icon?: React.ReactNode;
  shape?: "circle" | "square";
}

export const Button: React.FC<ButtonProps> = ({
  text,
  onClick,
  variant = "primary",
  size = "medium",
  disabled = false,
  icon,
  shape = "square",
}) => {
  return (
    <button
      className={`button ${variant} ${size} ${shape}`}
      onClick={onClick}
      disabled={disabled}
      aria-label={text}
    >
      {icon && <span className="icon">{icon}</span>}
      {text}
    </button>
  );
};
